package com.shy.springframework.context.event;

import com.shy.springframework.context.ApplicationEvent;
import com.shy.springframework.context.ApplicationListener;

/**
 * 事件广播类
 */
public interface ApplicationEventMulticaster {

    /**
     * 注册监听器
     * @param listener
     */
    void addApplicationListener(ApplicationListener<?> listener);

    /**
     * 移除监听器
     * @param listener
     */
    void removeApplicationListener(ApplicationListener<?> listener);

    /**
     * 广播事件
     * @param event
     */
    void multicastEvent(ApplicationEvent event);

}
